<?php
/**
 * Класс Acl - список контроля доступа приложения
 * за основу взят материал: 
 * http://codeutopia.net/blog/2009/02/06/zend_acl-part-1-misconceptions-and-simple-acls/
 * 
 * LICENSE: Free to use license
 * 
 * @copyright 	2009
 * @author 		Яковлев Иван Yak1980@list.ru | Best4u.mail@gmail.com
 * @version		$id:$
 * @link 
 * @since 
 */

require_once ('Zend/Acl.php');

class System_Acl extends Zend_Acl
{
	/**
	 * создаем список ролей, ресурсов и прав доступа для них
	 */
	public function __construct()
	{
		// задаем роли
		$this->addRole(new Zend_Acl_Role('guest'))
		     ->addRole(new Zend_Acl_Role('user'), 'guest')
		     ->addRole(new Zend_Acl_Role('moderator'), 'user') 
		     ->addRole(new Zend_Acl_Role('admin'), 'moderator'); // наследуется от роли  moderator
		     
		// задаем ресурсы, доступ к которым будем контролировать через Acl
		$this->add(new Zend_Acl_Resource('admin')); // раздел для администратора и модератора (AdminController)
		     
		     
		// задаем права доступа на ресурсы для соответствующих ролей
		$this->allow('admin');
	}
}

